package com.ruoyi.report_jl.domain.vo;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.ruoyi.common.annotation.ExcelDictFormat;
import com.ruoyi.common.convert.ExcelDictConvert;
import com.ruoyi.common.core.validate.AddGroup;
import com.ruoyi.common.core.validate.EditGroup;
import com.ruoyi.common.utils.BigDecimalUtil;
import com.ruoyi.report_tg.domain.vo.ExcelGeneralVo;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.util.Date;
import java.util.List;


/**
 * 粗集料压碎值记录国标视图对象 report_jl_cjlyszgbjlb_bs_info
 *
 * @author tll
 * @date 2024-05-23
 */
@Data
@ExcelIgnoreUnannotated
public class ReportJlCjlyszgbjlbBsInfoVo extends ExcelGeneralVo {

    private static final long serialVersionUID = 1L;

    /**
     * id
     */
    @ExcelProperty(value = "id")
    private Long excelId;

    /**
     * 共几页
     */
    @ExcelProperty(value = "共几页")
    private Long totalPage;

    /**
     * 第几页
     */
    @ExcelProperty(value = "第几页")
    private Long page;

    /**
     * 记录编号
     */
    @ExcelProperty(value = "记录编号")
    private String jilbh;

    /**
     * 检测单位名称
     */
    @ExcelProperty(value = "检测单位名称")
    private String jiancdwmc;

    /**
     * 工程部位/用途
     */
    @ExcelProperty(value = "工程部位/用途")
    private String gongcbwyt;

    /**
     * 样品名称
     */
    @ExcelProperty(value = "样品名称")
    private String yangpmc;

    /**
     * 样品编号
     */
    @ExcelProperty(value = "样品编号")
    private String yangpbh;

    /**
     * 样品数量
     */
    @ExcelProperty(value = "样品数量")
    private String yangpsl;

    /**
     * 样品状态
     */
    @ExcelProperty(value = "样品状态")
    private String yangpzt;

    /**
     * 样品时间
     */
    @ExcelProperty(value = "样品时间")
    private String yangpsj;

    /**
     * 试验检测日期
     */
    @ExcelProperty(value = "试验检测日期")
    private String shiyjcrq;

    /**
     * 试验条件温度
     */
    @ExcelProperty(value = "试验条件温度")
    private String shiytjwd;

    /**
     * 试验条件湿度
     */
    @ExcelProperty(value = "试验条件湿度")
    private String shiytjsd;

    /**
     * 检测依据
     */
    @ExcelProperty(value = "检测依据")
    private String jiancyj;

    /**
     * 判定依据
     */
    @ExcelProperty(value = "判定依据")
    private String pandyj;

    /**
     * 主要仪器设备名称及编号
     */
    @ExcelProperty(value = "主要仪器设备名称及编号")
    private String zhuyyqsbmcjbh;

    /**
     * 附加声明
     */
    @ExcelProperty(value = "附加声明")
    private String fujsm;

    /**
     * 报表名称
     */
    @ExcelProperty(value = "报表名称")
    private String baobmc;

    /**
     * 报表编号
     */
    @ExcelProperty(value = "报表编号")
    private String baobbh;

    /**
     * 工程名称
     */
    @ExcelProperty(value = "工程名称")
    private String gongcmc;

    /**
     * 检测人
     */
    @ExcelProperty(value = "检测人")
    private String jiancr;

    /**
     * 记录人
     */
    @ExcelProperty(value = "记录人")
    private String jilr;

    /**
     * 复核人
     */
    @ExcelProperty(value = "复核人")
    private String fuhr;

    /**
     * 日期
     */
    @ExcelProperty(value = "日期")
    private Date riq;

    /**
     * 备注
     */
    @ExcelProperty(value = "备注")
    private String remark;

    /**
     * 取样地点
     */
    @ExcelProperty(value = "取样地点")
    private String quydd;

    /**
     * 进场日期
     */
    @ExcelProperty(value = "进场日期")
    private String jincrq;

    /**
     * 代表数量
     */
    @ExcelProperty(value = "代表数量")
    private String daibsl;

    /**
     * 产地
     */
    @ExcelProperty(value = "产地")
    private String chand;

    /**
     * 试验次数1
     */
    @ExcelProperty(value = "试验次数1")
    private String sycsItem1;

    /**
     * 试样质量mg1（g）行1
     */
    @ExcelProperty(value = "试样质量mg1", converter = ExcelDictConvert.class)
    @ExcelDictFormat(readConverterExp = "g=")
    private BigDecimal shiyzlItem1;

    /**
     * 压碎试验后筛余试样质量mg2（g）行1
     */
    @ExcelProperty(value = "压碎试验后筛余试样质量mg2", converter = ExcelDictConvert.class)
    @ExcelDictFormat(readConverterExp = "g=")
    private BigDecimal yassyhsysyzlItem1;

    /**
     * 压碎指标Q（%）行1
     */
    @ExcelProperty(value = "压碎指标Q", converter = ExcelDictConvert.class)
    @ExcelDictFormat(readConverterExp = "%=")
    private BigDecimal yaszbItem1;

    /**
     * 试验次数2
     */
    @ExcelProperty(value = "试验次数2")
    private String sycsItem2;

    /**
     * 试样质量mg1（g）行2
     */
    @ExcelProperty(value = "试样质量mg1", converter = ExcelDictConvert.class)
    @ExcelDictFormat(readConverterExp = "g=")
    private BigDecimal shiyzlItem2;

    /**
     * 压碎试验后筛余试样质量mg2（g）行2
     */
    @ExcelProperty(value = "压碎试验后筛余试样质量mg2", converter = ExcelDictConvert.class)
    @ExcelDictFormat(readConverterExp = "g=")
    private BigDecimal yassyhsysyzlItem2;

    /**
     * 压碎指标Q（%）行2
     */
    @ExcelProperty(value = "压碎指标Q", converter = ExcelDictConvert.class)
    @ExcelDictFormat(readConverterExp = "%=")
    private BigDecimal yaszbItem2;

    /**
     * 试验次数3
     */
    @ExcelProperty(value = "试验次数3")
    private String sycsItem3;

    /**
     * 试样质量mg1（g）行3
     */
    @ExcelProperty(value = "试样质量mg1", converter = ExcelDictConvert.class)
    @ExcelDictFormat(readConverterExp = "g=")
    private BigDecimal shiyzlItem3;

    /**
     * 压碎试验后筛余试样质量mg2（g）行3
     */
    @ExcelProperty(value = "压碎试验后筛余试样质量mg2", converter = ExcelDictConvert.class)
    @ExcelDictFormat(readConverterExp = "g=")
    private BigDecimal yassyhsysyzlItem3;

    /**
     * 压碎指标Q（%）行3
     */
    @ExcelProperty(value = "压碎指标Q", converter = ExcelDictConvert.class)
    @ExcelDictFormat(readConverterExp = "%=")
    private BigDecimal yaszbItem3;

    /**
     * 平均压碎指标（%）
     */
    @ExcelProperty(value = "平均压碎指标", converter = ExcelDictConvert.class)
    @ExcelDictFormat(readConverterExp = "%=")
    private BigDecimal yaszbPjz;

    /**
     * 设备ids
     */
    @ExcelProperty(value = "设备ids")
    private String shebIds;

    @ExcelProperty(value = "子表")
    private List<Object> detailList;

    @ExcelProperty(value = "报表编号集")
    private List<String> baobbhList;


    public void setShiyzlItem1(BigDecimal shiyzlItem1) {
        this.shiyzlItem1 = BigDecimalUtil.stpTrailZero(shiyzlItem1);
    }

    public void setYassyhsysyzlItem1(BigDecimal yassyhsysyzlItem1) {
        this.yassyhsysyzlItem1 = BigDecimalUtil.stpTrailZero(yassyhsysyzlItem1);
    }

    public void setYaszbItem1(BigDecimal yaszbItem1) {
        this.yaszbItem1 = BigDecimalUtil.stpTrailZero(yaszbItem1);
    }

    public void setShiyzlItem2(BigDecimal shiyzlItem2) {
        this.shiyzlItem2 = BigDecimalUtil.stpTrailZero(shiyzlItem2);
    }

    public void setYassyhsysyzlItem2(BigDecimal yassyhsysyzlItem2) {
        this.yassyhsysyzlItem2 = BigDecimalUtil.stpTrailZero(yassyhsysyzlItem2);
    }

    public void setYaszbItem2(BigDecimal yaszbItem2) {
        this.yaszbItem2 = BigDecimalUtil.stpTrailZero(yaszbItem2);
    }

    public void setShiyzlItem3(BigDecimal shiyzlItem3) {
        this.shiyzlItem3 = BigDecimalUtil.stpTrailZero(shiyzlItem3);
    }

    public void setYassyhsysyzlItem3(BigDecimal yassyhsysyzlItem3) {
        this.yassyhsysyzlItem3 = BigDecimalUtil.stpTrailZero(yassyhsysyzlItem3);
    }

    public void setYaszbItem3(BigDecimal yaszbItem3) {
        this.yaszbItem3 = BigDecimalUtil.stpTrailZero(yaszbItem3);
    }

    public void setYaszbPjz(BigDecimal yaszbPjz) {
        this.yaszbPjz = BigDecimalUtil.stpTrailZero(yaszbPjz);
    }

    /**
     * 试样与秤盘质量
     */
    private BigDecimal shiyycpzl;
    /**
     * 装满金属筒后剩余试样与秤盘质量
     */
    private BigDecimal zhuangmjsthsysyycpzl;
    /**
     * 金属筒盛样质量
     */
    private BigDecimal jinstcyzl;

    public void setShiyycpzl(BigDecimal shiyycpzl) {
        this.shiyycpzl = BigDecimalUtil.stpTrailZero(shiyycpzl);
    }

    public void setZhuangmjsthsysyycpzl(BigDecimal zhuangmjsthsysyycpzl) {
        this.zhuangmjsthsysyycpzl = BigDecimalUtil.stpTrailZero(zhuangmjsthsysyycpzl);
    }

    public void setJinstcyzl(BigDecimal jinstcyzl) {
        this.jinstcyzl = BigDecimalUtil.stpTrailZero(jinstcyzl);
    }
}
